home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Original Shareware 1.1
/
The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso
/
7
/
zip123.zip
/
ZIP.DOC
< prev
Wrap
Text File
|
1989-01-21
|
14KB
|
276 lines
ZIP.DOC
-------
Instructions for ZIP.COM
IBM PC Fast Serial File Transfer Utility
Version 1.23 (1/21/89)
(c)1989 E. Meyer
Requires: two 100% IBM PC compatible computers; MS/PCDOS 2.x or 3.x
ZIP is a tiny, fast utility to transfer files between two IBM compatible
computers over an ordinary serial cable connection. This can be more
convenient than constantly swapping disks; of course, it is necessary when the
computers don't share a common disk format, as in the case of a desktop PC
with 5" drives and a laptop (or PS/2) with only a 3" drive. ZIP is easier to
use, and (potentially) over 6 times faster for this purpose, than any ordinary
telcom program.
Telcom programs: modem 2400 bps 0.3 K/sec
Telcom programs: cable 19200 bps 2.3 K/sec
---> ZIP: cable 115200 bps 14.1 K/sec
Most computer manufacturers offer additional disk drives or other
hardware accessories to provide access to data on both 3" and 5" disks; but
these can cost hundreds of dollars, and make a laptop computer far less
portable. There are also several commercial programs for serial transfer;
I'm sure they work very well, and have many extra conveniences that ZIP lacks.
But even they are priced at $100 and up, which is far more than I was willing
to pay. ZIP transfers files just as well, and is free. (ZIP does NOT [yet]
transfer subdirectories, only files.)
BASIC USE
Obviously, you will need to get copies of (compatible versions of)
ZIP.COM onto both computers. (You can accomplish this at 19200 bps using your
serial cable, if both machines have telcom software with XMODEM protocol
transfers.)
ZIP makes transferring a file as easy as copying it from one disk to
another. To transfer any MSDOS file, once the cable is properly connected to
the serial (COM) ports of the two computers, from any DOS prompt:
1. Menu-driven operation. Simply type "ZIP" on both
machines; the program will step you through all the necessary
choices, including sending or receiving files.
2. Command line operation, for experienced users.
On the sending machine, type: On the receiving machine:
C>zip FILENAME C>zip /r
or C>zip DIRECTORY /r
The "FILENAME" you give can be a single file, or a
GROUP specified by wildcards and/or commas (see examples below).
Each name may include a directory. Each file will appear with
the same name on the receiving end. As data is transferred you
should see a blinking asterisk. When you see the message
"Verified", you know that the received copy exactly matches the
original.
The "/R" option means RECEIVE. The "DIRECTORY" to
receive files may optionally be specified; otherwise, the
current directory is used. Large transfer jobs will go faster
if you use a hard or RAM disk, which work faster than a floppy
drive, where possible.
ZIP can be aborted by pressing any key:
(1) on either end, during initial handshaking
(2) on sending end, during file transfer
(will abort once current file is finished)
as well as by pressing ^C at any menu prompt.
SELECTING THE SERIAL PORT
By default ZIP uses the COM1 port. IBM-compatible computers have
anywhere from one to four serial (RS232) ports. The first two, COM1 and COM2,
are implemented at standard addresses (03F8, 02F8); COM3 and COM4, if present,
can vary from one computer to another. To use them, or to change the default
to COM2, you will have to install the appropriate address in ZIP.COM (see
below).
You can select either COM1 or COM2 during operation of ZIP: in menu
mode, just select the option to "M"odify parameters. In command line mode,
specify one of the following options:
/1 = Use the COM1 port. (This is normally the default.)
/2 = Use the COM2 port.
You will see a note in the ZIP signon message, "Port=____", giving the
port address in use.
SELECTING THE SPEED
By default ZIP works at 115200 bps. You can request a "moderate" or
"slow" speed instead (one-half or one-third of the "fast" rate). If you like,
you can make one of the slower speeds your default, by installing it in
ZIP.COM (see below).
NOTE: due to the limited speed of the CPU itself, most computers can't
actually achieve the 115200 bps throughput that the serial port is capable of.
You will probably find little difference in operation between the three
"speeds", unless you have a very fast 80286 or 80386-based machine. This
means that transferring files from such a computer to an ordinary PC may not
work at the "fast" rate because the receiver simply can't keep up! Under such
circumstances you will need to specify a slower speed.
To select a speed other than the default: in menu mode, just select the
option to "M"odify parameters. In command line mode, specify one of the
following options:
/F = Use the fast speed (115200 bps).
/M = Use the moderate speed (57600 bps).
/S = Use the slow speed (38400 bps).
Naturally these must be specified on BOTH ends, if used. You will see a
note in the ZIP signon message, "Speed=____", giving the speed in use.
USAGE EXAMPLES (Command line mode)
C>zip \work\my sends file C:\WORK\MY
C>zip gort,klaatu /s sends C:GORT, C:KLAATU at slow speed
C>zip my.* /2 sends all files C:MY.* over COM2
C>zip /r receives files into current directory
C>zip \work /rs receives into directory C:\WORK\ at slow speed
C>zip d: /r2 receives files over COM2 into directory D:
TECHNICAL DETAILS
ZIP does full CRC (Cyclic Redundancy Checksum) verification on the
received file. Being designed for direct serial transfer at maximum hardware
speed, ZIP is not compatible with other software, including ordinary telcom
programs. Do not disturb the cable when ZIP is running, as this may cause the
program to stall, requiring a reboot of your computer(s).
Be sure to use the SAME version of ZIP on both ends: the transfer
protocol may have changed. Otherwise, if you can't get ZIP to transfer files,
your computer(s) or your cable are incompatible. ZIP is written entirely in
assembly language; it will only work on fully IBM compatible computers. I
have developed it on 8088 PC clones with clock speeds of 4.77 to 8 MHz; I rely
on users' reports that it works well on more sophisticated systems.
SERIAL CABLES can be wired in many different ways. The one I use was
labeled as an "IBM AT adapter", and had female connectors on both ends (one
DB9, one DB25). Any cable that doesn't work by itself should with a null
modem adapter. Basically, you need to have the transmit and receive data
lines (pins 2 and 3 on a DB25) crossed, and ground (7) straight through. If
you have to build your own cable, you'll discover whether any more connections
are needed. Don't ask me for further advice: I don't know any more about this
than you do! People get rich writing books on the intricacies of the RS232
"standard"; you may want to look for one.
MODIFYING THE DEFAULTS
If you don't instruct it otherwise, ZIP will use its built-in "defaults"
for the serial port address and speed. These values appear in simple ASCII
text form at the start of ZIP.COM, and can be modified to customize your copy
of ZIP. To get a quick look at the current settings, just enter:
C>type zip.com
[ZIP 1.23 Port=03F8 Speed=F]
For the Port, you can use "03F8" (COM1), "02F8" (COM2), or whatever (see
your computer manual for COM3 or COM4 port addresses). The possible values
for Speed are "F", "M", or "S". Changes can be made with any patching
utility, such as DEBUG. Just change the data under "Defaults:" to whatever
you require. After modifying the defaults, you can still use any command-line
options above to override them.
Here is how the DEBUG session might look; we Display the default data,
Enter 0"2"F8 in place of the 03F8 to change to a default of COM2, Display
again to see the new value, Write the change to the file, and then Quit:
C:\WORK>debug zip.com
-d100,11f
22FA:0100 EB 20 0D 5B 5A 49 50 20-31 2E 32 33 20 50 6F 72 . .[ZIP 1.23 Por
22FA:0110 74 3D 30 33 46 38 20 53-70 65 65 64 3D 46 5D 0D t=03F8 Speed=F].
-e113 32 ^^ ^
-d100,11f
22FA:0100 EB 20 0D 5B 5A 49 50 20-31 2E 32 33 20 50 6F 72 . .[ZIP 1.23 Por
22FA:0110 74 3D 30 32 46 38 20 53-70 65 65 64 3D 46 5D 0D t=02F8 Speed=F].
-w ^^ ^
Writing xxxx bytes
-q
For further information on DEBUG see your MSDOS manual. Please DO NOT
distribute modified copies of ZIP.COM; this could confuse other users. They
are for your personal use only.
PROBLEMS USING ZIP
ZIP seems to work on nearly all systems very well now. Certain
(combinations of?) computers, however, may regularly experience COMM FAILURE
errors. If you have this problem, please report the numerical code (1-6) now
included with this error message -- it may help me figure out a way to solve
the problem. (Note: for COMM FAILURE in transfers from a very fast computer
to a slow one, see SELECTING THE SPEED, above.)
ERROR MESSAGES
<ERROR> invalid command (probably illegal option).
<OUT OF MEMORY> less than 64K free RAM available.
<TOO MANY> global filespec includes too many files.
<READ ERROR> trouble reading source file.
<WRITE ERROR> trouble writing destination file. (Disk full?)
<COMM FAILURE #> unexpected transmission error.
<CRC ERROR> received file CRC did not match, bad transfer.
<ABORTED> you pressed a key.
ZIP 1.22 TRANSFER PROTOCOL
This information is provided for programmers interested in writing
applications compatible with ZIP on other computer systems. (If you do this,
please let me know. MAC-ZIP, anyone? CPM-ZIP?) The current protocol is
version 1.22. The protocol may need to be modified again with future
development of ZIP. All transfer takes place at 115200 bps (unless a slower
speed is selected); very tight polling loops, minimal handshaking, and fixed
packet size are needed to avoid loss of data at 115200 bps.
The initial handshaking involves the receiver sending a version code byte
(122 decimal, for ZIP 1.22 protocol) at intervals until it is acknowledged
(ACK, 6 decimal) by the sender. From this point on all data transfer is in
fixed-size packets.
The receiver, when ready, requests each packet by sending an ENQ (5
decimal). Each packet has a 3-byte header, consisting of an SOH (1 decimal)
and a 16-bit count to indicate the number of significant bytes in the packet;
then exactly 512 bytes of data; then a concluding ETX (3 decimal).
The first packet contains the file name; an empty name packet (0 bytes
length) signifies the end of the transmission. Subsequent packets contain the
file data; a packet that is less than full (count less than 512) signifies the
end of the file. One final packet contains the 16-bit CCITT CRC value for the
entire file, the DOS time stamp word, and the DOS date stamp word, in that
order (6 bytes).
The receiver looks for the SOH and ETX bounding each packet, but does no
further checking. There are no timeouts. No attempt is made to resend
packets; under normal circumstances, transmission errors should not occur.
Upon any serious error, a NAK (21 decimal) is sent to the other end before
exiting to DOS. Upon receipt of this signal, the other end also terminates.
HISTORY
ZIP 1.0 (4/88) - trial release. Worked on many systems.
1.1 (4/88) - improved transmission algorithm; batch transfers allowed
using wildcards and/or commas; receive directory option;
original file time/date preserved.
1.2 (5/88) - improved error handling; patchable default port also
allows use of COM3,4; small bug fixes.
1.21 (5/88) - slower speed options; fixed bug in initializing ports.
1.22 (8/88) - protocol modified for better results on computers of
widely different speeds; fixed bug in deleting temp file.
1.23 (1/89) - menu-driven operation; detects disk-full errors.
ZIP and its documentation are (c)1989 E. Meyer, all rights reserved.
They may be freely distributed, but not modified or sold for profit without
my written consent. The user takes full responsibility for any damages
resulting from the use (or misuse) of this program. Please report any
problems encountered.
Eric Meyer
401 12th Ave SE, #139 CompuServe [74415,1305]
Norman, OK 73071